<html>

<head>

  <title>TWordInfoList</title>

  <meta name="viewport" content="width=device-width, initial-scale=1">

  <link rel="stylesheet" href="../../../../../Styles/Default.css" type="text/css">

  <meta name="Ancestor" content="">
<script type="text/javascript" src="../../../../../CodeScripts/SyntaxHighlighter/scripts/shCore.js"></script><script type="text/javascript" src="../../../../../CodeScripts/SyntaxHighlighter/scripts/shBrushDelphi.js"></script><script type="text/javascript" src="../../../../../CodeScripts/SyntaxHighlighter/scripts/shBrushCpp.js"></script><script type="text/javascript" src="../../../../../CodeScripts/SyntaxHighlighter/scripts/shBrushCSharp.js"></script><link rel="stylesheet" type="text/css" href="../../../../../Styles/default.css"/><link rel="stylesheet" type="text/css" href="../../../../../Menu/menu.css"/><link rel="stylesheet" type="text/css" href="../../../../../CodeScripts/SyntaxHighlighter/styles/shCoreDefault.css"/><link rel="stylesheet" type="text/css" href="../../../../../CodeScripts/SyntaxHighlighter/styles/shThemeDefault.css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"><script type="text/javascript" src="../../../../../Menu/menu.js"></script><script type="text/javascript" src="../../../../../CodeScripts/bootstrap.js"></script>
</head>

<body bgcolor="#FFFFFF">
  <div class="menu" id="menu"><a class="ancestor" href="../../../../_Body.htm">Index</a><a class="ancestor" href="../../_Body.htm">Img32.Text</a><span class="active">TWordInfoList</span>
  </div><br><br>

  <h1>TWordInfoList</h1>
  <p> The <span class="monobold">TWordInfoList</span> class encapsulates a list of individually formatted words or characters. This class greatly simplifies the building of custom text editors.<br><br> Commonly, this class is constructed and passed to <a href="../../Routines/FillWordList.htm"><b>FillWordList</b></a> before being passed to <a href="../TFontCache/Methods/GetTextOutline.htm"><b>TFontCache.GetTextOutline</b></a>. Here's an abbreviated example of its use from the FMX2 sample application:<br> 
    <div class="code">
      <pre class="brush: delphi;">
  wordList := TWordInfoList.Create;
  try
    FillWordList(essay, wordList, noto14Cache);
    pageMetrics := GetPageMetrics(RectWidth(essayRec), wordList);
    //calculate lines that will fit on left of image
    lineCnt := Trunc(RectHeight(essayRec) / noto14Cache.LineHeight);
    //now get the text glyph outlines and draw them
    txtPaths := noto14Cache.GetTextOutline(essayRec,
      wordList, pageMetrics, taJustify, 0, lineCnt);
    DrawPolygon(imgMain, txtPaths, frNonZero, clBlack32);
  finally
    wordList.Free;
  end;
      </pre>
    </div> </p>
  <h2 id="Auto-SeeAlso">See Also</h2>
  <p class="Body"><a href="../TFontCache/Methods/GetTextOutline.htm">TFontCache.GetTextOutline</a>, <a href="../../Routines/FillWordList.htm">FillWordList</a></p>
  <p class="Copyright" id="auto"> <br><br> Copyright &copy;2010-2023 Angus Johnson&nbsp; - &nbsp;Image32 4.2&nbsp; - &nbsp;Help file built on 26 Mar 2023 <br><br> </p>

</body>

</html>